//== SAGITTARIUS ============================================================================

//== BEGINNING OF CODE ===============================================================

#ifndef __SAGUTTARUIS__HASH__H_
#define __SAGUTTARUIS__HASH__H_

//== INCLUDES ========================================================================

#include "sagittarius/core/SagittariusCore.h"
#include <stddef.h>

#if SAGITTARIUS_LINK_WITH_GMP
#include "sagittarius/gmp/gmpsupport.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif

uint64 sg_hashptr(void* p);

uint64 sg_hash64(void* p, size_t bytes);

#if SAGITTARIUS_LINK_WITH_GMP
uint64 sg_hash_mpz(mpz_t p);
#endif

#ifdef __cplusplus
}//extern "C"
#endif

#endif
